// 导入 axios
import Axios from "axios";
// 导入store获取store对象
import store from "@/store/index";
// 请求拦截器
// 使用场景：需要在请求的时候设置全局的超时时间、设置比较统一的请求头等
Axios.interceptors.request.use((config)=>{
    // 在这里增加上额外需要的处理，比如加头信息、加全局配置。。。
    let _token = store.state.my._token;
    if (_token) {
        config.headers["Authorization"] = _token;
        // console.log(config.headers["Authorization"])
    }
    return config;
});
// 响应拦截器
// 使用场景：用于对响应结果进行加工处理再返回
Axios.interceptors.response.use((ret)=>{
    // 为了方便，在拦截器中判断是否有token，如果有则直接存储（复用）
    if (ret.data._token) {
        // 存储到vuex中
        store.commit("my/setToken", ret.data._token);
    }
    return ret.data||ret;
})
// 导出
export default Axios;